// 1.引入依赖包
import axios from "axios"
import querystring from "querystring"
import Vue from "vue"

// 2.环境
//开发环境：8080
if(process.env.NODE_ENV=="development"){
    Vue.prototype.$pre="http://localhost:3000"
}
//生产环境：3000
if(process.env.NODE_ENV=="production"){
    Vue.prototype.$pre=""
}


// 3.请求拦截
axios.interceptors.request.use(config=>{
    //携带一些参数
    return config;
})

// 4.响应拦截
axios.interceptors.response.use(res=>{
    //打印数据
    console.log("本次请求地址是："+res.config.url)
    console.log(res);

    //响应的逻辑

    return res;
})

// 5. 封装get
/**
 *
 *
 * @param {*} url 请求路径
 * @param {*} [params={}] 参数，默认参数是{}
 * @returns axios
 */
export function get(url,params={}){
    return axios({
        url,
        method:"get",
        params:params
    })
}

// 6.封装post
/**
 *
 *
 * @param {*} url 请求路径
 * @param {*} [params={}] 参数
 * @param {boolean} [isFile=false] 是否文件，默认false
 * @returns axios
 */
export function post(url,params={},isFile=false){
    let data=null
    if(isFile){
        data=new FormData()
        for(let key in params){
            data.append(key,params[key])
        }
    }else{
        data=querystring.stringify(params)
    }
    return axios({
        url,
        method:"post",
        data
    })
}